Leveraging LLMs for Unsupervised Dense Retriever Ranking
Abst
本論文では、大規模言語モデル(LLM)を活用した教師なし密ベクトル検索モデル選択手法LARMOR(Large Language Model Assisted Retrieval Model Ranking)を提案しています。LARMORの主な特徴と利点は以下の通りです:
テストコーパス(ターゲット)に対して使用する密ベクトル検索モデルを選択するための効果的な教師なしアプローチ。
公開コーパスで訓練された密ベクトル検索モデルを新しい非公開ターゲットコーパスに適用する際の課題(ドメインシフト問題)に対応。
LLMを利用して、ターゲットコーパスからサンプリングした文書に基づき、疑似関連クエリ、ラベル、参照リストを生成。
生成された疑似関連信号に対する有効性に基づいて密ベクトル検索モデルをランク付け。
ターゲットコーパスのみに依存し、訓練コーパスやテストラベルを必要としない初めての手法。
最先端の密ベクトル検索モデルの大規模プールを構築し、既存のベースラインを上回る性能を実証。
この手法は、ドメインシフトのあるシナリオでの密ベクトル検索モデル選択に対応し、特にゼロショットシナリオなど、ターゲットコーパスにラベルがない場合に有効です。コードと結果は公開されており、GitHubで入手可能です。
関連研究
この問題設定を最初に提案してる
解法
Step 1: Pseudo-Query Generation
文書コレクションからサブセットを抽出する
個々の文書について、LLMを使って疑似クエリを生成する
同じプロンプトを使ってL個ずつ疑似クエリを生成する(top-p samplingとかで多様性を確保)
プロンプトはそのドメイン特有のクエリを生成するように設計されている想定(つまり、正解ラベルは無いが、どのようなクエリが与えられるかは既知の前提)
Step 2: Construction of Pseudo Relevance Judgments and Reference Lists
疑似クエリに適合文書をラベリングする
明らかな適合文書はその疑似クエリが生成される元の文書
それでは少なすぎるので何かしらの方法で適合文書を紐づけたい
各クエリに対してラベリングの候補文書の抽出
(おそらく評価対象の)複数の検索アルゴリズムでTop-K検索する
複数のランキングをマージして、Top-m件の一つのランキングを得る
候補文書に対してLLMを使って適合性を付与
二種類の適合性を提案
1. Pseudo-relevance judgments
クエリと文書間の関連性をLLMで付与
以下の論文に従って、多段階でラベリング(性能がいいらしい)
2. Reference lists
LLMでリランキングする
↑と違って、個々に関連性を与えるのではなく、大域的に関連性を考える
Setwise document ranking promptというのを使ってる
Step 3: Dense Retriever Ranking
上の評価セットを用いて検索モデルを評価し、性能順にランク付けする
Pseudo-relevance judgmentsは、nDCGとかでランク付け
Reference listsは、Rank Bias Overlapとかでランク付け
2つの評価セットを使った場合は、ランキング結果をFusionして最終結果とする
実験設定
比較モデル
MTEBの全コーパス平均性能上位30モデル
追加で特定のコーパスで上位30に入ってるモデルも
結果として47個のモデルをチョイス
評価コーパス
BEIRベンチマークを使用
9つの異なるタスクにわたる18のコレクションのうち、9つのすべてのタスクを網羅する13のコーパスの代表的なサブセットを選択
このベンチマークを採用する主な利点は、そのコーパスがモデルプールの稠密検索モデルのトレーニングに明示的に使用されていないことです
LLM
FLAN-T5
クエリ生成プロンプト
最近の実験を参考にした
実際のプロンプトはここ
注意した点は、クエリとドキュメントのタスクやドメイン別に設計したこと
Pseudo-relevance judgmentsのプロンプト
Fusion algorithm
Reciprocal Rank Fusion